package niuke;

/**
 * description:
 * author:zt
 * date:2021-08-02
 */

/**
 * 删除给出链表中的重复元素（链表中元素从小到大有序），使链表中的所有元素都只出现一次
 * 例如：
 * 给出的链表为1→1→2,返回1→2.
 * 给出的链表为1→1→2→3→3,返回1→2→3.
 */
public class NC25 {
    public ListNode deleteDuplicates (ListNode head) {
        // write code here
        if(head==null) return head;
        ListNode dum = new ListNode(-1);
        dum.next = head;
        ListNode pre = head;
        head = head.next;
        while (head!=null){
            if (head.val==pre.val){
                while (head!=null && head.val==pre.val) head = head.next;
                pre.next = head;
            }else{
                head = head.next;
                pre = pre.next;
            }
        }
        return dum.next;
    }
}
